import request from '@/config/axios'

// 跨境电商数据同步任务 VO
export interface PlatformSyncTaskVO {
  id: number // 任务编号
  platformId: number // 平台编号
  storeId: number // 店铺编号
  syncType: string // 同步类型
  syncDirection: number // 同步方向（1上传到平台 2从平台下载 3双向同步）
  businessType: string // 业务类型
  businessId: number // 业务数据ID
  batchNo: string // 批次号
  priority: number // 优先级（1-10，数字越小优先级越高）
  scheduledTime: Date // 计划执行时间
  startTime: Date // 开始执行时间
  endTime: Date // 结束执行时间
  status: number // 任务状态（0待执行 1执行中 2执行成功 3执行失败 4已取消）
  progress: number // 执行进度（0-100）
  totalCount: number // 总数量
  successCount: number // 成功数量
  failedCount: number // 失败数量
  errorMsg: string // 错误信息
  requestData: string // 请求数据JSON
  responseData: string // 响应数据JSON
  retryCount: number // 重试次数
  maxRetryCount: number // 最大重试次数
  nextRetryTime: Date // 下次重试时间
}

// 跨境电商数据同步任务 API
export const PlatformSyncTaskApi = {
  // 查询跨境电商数据同步任务分页
  getPlatformSyncTaskPage: async (params: any) => {
    return await request.get({ url: `/crossborder/platform-sync-task/page`, params })
  },

  // 查询跨境电商数据同步任务详情
  getPlatformSyncTask: async (id: number) => {
    return await request.get({ url: `/crossborder/platform-sync-task/get?id=` + id })
  },

  // 新增跨境电商数据同步任务
  createPlatformSyncTask: async (data: PlatformSyncTaskVO) => {
    return await request.post({ url: `/crossborder/platform-sync-task/create`, data })
  },

  // 修改跨境电商数据同步任务
  updatePlatformSyncTask: async (data: PlatformSyncTaskVO) => {
    return await request.put({ url: `/crossborder/platform-sync-task/update`, data })
  },

  // 删除跨境电商数据同步任务
  deletePlatformSyncTask: async (id: number) => {
    return await request.delete({ url: `/crossborder/platform-sync-task/delete?id=` + id })
  },

  // 批量删除跨境电商数据同步任务
  deletePlatformSyncTaskList: async (ids: number[]) => {
    return await request.delete({ url: `/crossborder/platform-sync-task/delete-batch`, data: ids })
  },

  // 导出跨境电商数据同步任务 Excel
  exportPlatformSyncTask: async (params) => {
    return await request.download({ url: `/crossborder/platform-sync-task/export-excel`, params })
  },
}
